Y may be any array. X may be any array of rank 1 or more.
In general, the function locates the first occurrence of sub-arrays in Y which match major cells of X, where a major cell is a sub-array on the leading dimension of X with shape 1↓⍴X. The shape of the result R is (1-⍴⍴X)↓⍴Y.
If a sub-array of Y cannot be found in X, then the corresponding element of R will be ⎕IO+⊃⍴X.
In particular, if X is a vector, the result R is a simple integer array with the same shape as Y identifying where elements of Y are first found in X. If an element of Y cannot be found in X, then the corresponding element of R will be ⎕IO+⊃⍴X.
Elements of X and Y are considered the same if X≡Y returns 1 for those elements.
Examples
⎕IO←1 2 4 3 1 4⍳1 2 3 4 5 4 1 3 2 6 'CAT' 'DOG' 'MOUSE'⍳'DOG' 'BIRD' 2 4
X←3 4⍴⍳12
X
1 2 3 4
5 6 7 8
9 10 11 12
X⍳1 2 3 4
1
Y←2 4⍴1 2 3 4 9 10 11 12
Y
1 2 3 4
9 10 11 12
X⍳Y
1 3
X⍳2 3 4 1
4
X1←10 100 1000∘.+X
X1
11 12 13 14
15 16 17 18
19 20 21 22
101 102 103 104
105 106 107 108
109 110 111 112
1001 1002 1003 1004
1005 1006 1007 1008
1009 1010 1011 1012
X1⍳100 1000∘.+X 2 3
x
United Kingdom
Germany
France
Italy
United States
Canada
Japan
Canada
France
y
United Kingdom
Germany
France
Italy
USA
Canada
Japan
China
India
Deutschland
⍴x
9 14
⍴y
2 5 14
x⍳y
1 2 3 4 10
6 7 10 10 10
x⍳x
1 2 3 4 5 6 7 6 3
Note that the expression y⍳x signals a LENGTH ERROR because it looks for major cells in the left argument, whose shape is 5 14 (that is 1↓⍴y), which is not the same as the trailing shape of x.
y⍳x
LENGTH ERROR
y⍳x
∧
For performance information, see Search Functions and Hash Tables.